﻿using PerfectBuyData;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;

namespace PerfectBuyMVC.Controllers
{
    public class LoginController : Controller
    {

        private perfectbuyEntities db = new perfectbuyEntities();
        //
        // GET: /Login/

        public ActionResult Index()
        {
            return View();
        }

        public ActionResult Login()
        {
            return View();
        }

        [HttpPost]
        public ActionResult Login(Usuario usuario)
        {
            Usuario user = db.Usuarios.FirstOrDefault(u => u.userName == usuario.userName && u.userPassword == usuario.userPassword);

            if (user != null)
            {
                Session["Usuario"] = user;
                return RedirectToAction("Index", "Home");
            }


            return RedirectToAction("Login", "Login");
        }


        public ActionResult Logout()
        {

            Session["Usuario"] = null;

            return RedirectToAction("Index", "Home");

        }


        public ActionResult Register()
        {
            return View();
        }


        [HttpPost]
        public ActionResult Register(Usuario usuario)
        {
           String _mensaje = "";
            //Busca si ya existe el usuario
            Usuario usuarioObtenido = db.Usuarios.FirstOrDefault(u => u.userName == usuario.userName || u.email == usuario.email);
            //Si el usuario no existe
            if (usuarioObtenido == null)
            {
                usuario.rol = 1;
                db.Usuarios.Add(usuario);
                db.SaveChanges();
                Session["Usuario"] = usuario;
                return RedirectToAction("Index", "Home");
            }
            else
            {
                if (usuarioObtenido.userName == usuario.userName)
                {
                    ViewBag.mensaje = "El nombre de usuario ya se encuentra registrado";
                }
                else if (usuarioObtenido.email == usuario.email)
                {
                    ViewBag.mensaje = "Ya existe una cuenta para este email";

                }
                return View();
            }
    return View();
}

       public ActionResult Perfil()
        {
            return View();
        }

    }}




